The rise of distributed computing systems has advanced data processing and storage technologies far beyond the capabilities of the personal computer. High-speed communication networks enable widespread use of cloud computing—networked computing using shared or remote resources, software, and/or information. Cloud computing systems enable businesses and individuals to enjoy the benefits of virtual desktops by decentralizing the computer platform utilizing remote or dispersed hardware infrastructures, and transmitting virtual desktop data to client devices such as mobile devices.
As the number of users rises and the size of data files grows, the demand for increased processing and transmission speed in local area networks (LANs) and wide area networks (WANs) increases dramatically. Cloud service providers strive to answer the ever-increasing performance demands by building more robust communication networks with increased bandwidths and transmission speeds, and by increasing the efficiency of resource allocation efficiency. One common resource in communication networks is the cache—such as a physical memory cache appliance or storage location that stores frequently accessed data, to enable faster subsequent retrieval.
Typical communication networks include multiple cache appliances managed by one or more electronic devices such as routers. In some network systems, each cache appliance is assigned an Internet Protocol (IP) address, and the routers employ one or more assignment protocols to direct data to and from the cache appliances using the cache IP addresses. Particularly, the assignment protocol assigns each cache appliance, via its IP address, to one or more “buckets”—data storage addresses in the network in a process sometimes referred to as “cache assigning” or “bucket mapping.” The cache assignment algorithms are sometimes referred to as “mapping algorithms.” The efficiency of the assignment algorithm can have a profound effect on the cloud computing service performance, by affecting the amount of time and processing power required to assign buckets and caches in a large network. The algorithm's impact on efficiency is most profound when cache appliances are added or removed from the network, and the remaining and new caches must undergo reassignment while online.
Common assignment protocols, such as the Web Cache Coordination Protocol (WCCP) developed by Cisco Systems, direct data between multiple cache appliances and reassign caches while the network is online One cache in the network serves as a designated cache, to handle assignment operations for distributing data throughout the remaining caches. WCCP employs one or more algorithms to assign buckets to caches, and to handle cache additions or removals by reassigning the buckets. Many current algorithms assign buckets to caches by sorting cache IP addresses, and assigning caches in order of their IP address. When a cache is removed or added, these algorithms usually reassign many, if not all, of the caches according to the sorted IP list, thereby disrupting caching operations and increasing data loss risks. Due to the inefficiencies of this assignment method, network performance suffers.
In view of the shortcomings and disadvantages of current cache assignment methods, an improved method for assigning caches is desired.